package com.dragon.refect.error;

import java.util.ArrayList;

/**
 * 运行时常量池导致的内存溢出异常
 *
 * @author dragon
 * @since 2019/11/30
 */
public class RuntimeConstantPoolOOM {

    public static void main(String[] args) throws InterruptedException {
        // 使用List保持这常量池的引用，避免Full GC 回收常量池行为
        ArrayList<String> list = new ArrayList<>();
        int i = 0;
        while (true) {
            list.add(String.valueOf(i++).intern());
        }
    }
}
